In communication systems there is commonly a need for frequency selective pulse filtering. Often, due to couplings, inductances, parallel switching of current sources/sinks, etc., data that reaches a receiver end is quite noisy. Also, in certain cases, where low frequency signals are used for handshaking, it becomes difficult to distinguish between data and handshaking signals traveling on the same bus. At the receiver end it becomes quite difficult to extract the data with as few errors as possible. The errors in correct detection of data could be reduced by filtering out high frequency noise components.
FIG. 1 illustrates a conventional circuit for filtering data. The circuit utilizes two symmetrical parallel paths P1 and P2 to filter an input data INP, depending on whether the input data INP is a low to high pulse or a high to low pulse. An NMOS transistor MN1 of a first inverter 102 is tuned such that it provides desired RC time constant during discharge of a capacitor C1 connected on a drain of this transistor. The corresponding PMOS transistor MP1 should be fast enough to charge the capacitor C1 completely in quite less time (depending on what could be the minimum width of an input pulse which needs to be rejected) as compared to the time RC. Hence, the PMOS transistor MP1 cannot be used to implement the charging when the input INP is varying from high to low to high again. For this purpose, the second path P2 is used. In P2, a PMOS transistor MP2 of an inverter 104 is tuned to obtain RC time constant with a capacitor C2. Then outputs of the two paths P1 and P2 are connected to cascode-connected PMOS and NMOS module 106. The module 106 is used to ensure that the slower one decides output. The data is then latched (through 108) to OUT. However, this conventional filter circuit uses a large number of switches (i.e., transistors) which consume a relatively large area and require relatively complex output control.
Therefore, there is a need for an improved filtering module and method for frequency selective pulse filtering.